Programmable, read-only memories (PROM's) are used in a wide variety of applications in the computer and computer related industries. Such memories are marketed in an unprogrammed state, where all of the memory locations initially are programmed with one or the other of the two binary states, "0" or "1". When programming of selected ones of the memory locations to the opposite state is desired, the "X" and "Y" address lines, used to identify that memory location, are enabled, and a programming voltage is applied to those lines to change the state of the memory at that location from the preprogrammed or unprogrammed memory to the opposite state. If a fusible link is used at each of the memory locations to electrically interconnect the conductive "X" and "Y" leads, the programming voltage is used to burn or sever the link to cause the memory position to be non-conductive between the two "X" and "Y" leads. This is selectively done for each of the memory locations which are to be programmed to the opposite state from the unprogrammed memory.
Another type of programmable read-only memory is provided in the form of a vROM memory. A vROM memory initially is manufactured with what may be termed as "antifuses" between the intersection points of the metal conductors for the "X" and "Y" coordinates. This antifuse layer or link is fabricated from undoped amorphous (non-crystalline) silicon, as a high resistance layer between the two metal layers or leads. A programming voltage higher than the normal operating voltage, subsequently to be used with the memory, is applied across the leads to transform the insulating amorphous silicon into conducting polysilicon. Thus, a vROM programmable memory is "open" (insulator) in its original or unprogrammed state, and becomes "closed" (conductive) upon being programmed. In all other respects, this type of memory subsequently may be used in a system in the same manner as the fusible PROM memory discussed above. In the programming of a vROM memory, however, the application of the programming voltage is applied to those memory locations which are to be conductive in the final product, whereas in a fusible PROM memory, the application of the programming voltage is applied to those memory locations which are to become open or insulating in the final programmed state of the memory.
In the programming of vROM memories, a tester circuitry typically is employed during the programming operation to measure the current flow through the programmed links to ascertain or verify the programming operation. The tester used in programming the memory operates first to select the memory location to be programmed. Then a programming potential is applied to an operational amplifier circuit to apply a programming voltage to the selected address. In the case of a vROM memory, this voltage is used to fuse the antifuse region. When the conventional operational amplifier system is used to effect the fusing, a comparator is employed to detect the flow of current through the link being programmed. This comparator flips from one binary condition at its output to another, whenever any current is detected. As a consequence, if the programming of the link or address location is weak or incomplete (resulting in low current flow), the conventional programming system does not detect this potential weakness. Such a failure to completely program the link, however, may result in improper operation of the programmable memory in its subsequent system application. The failure of this type of a programming system to detect weak or incomplete programming is the result of the use of a voltage dropping resistor at the input of the comparator circuit to establish the detection indication.
It is desirable to provide an improved effective, accurate system and method for programming and verifying the programming of vROM programmable memories.